METHOD if_srm_sp_client_win~my_action.
DATA: lo_client_factory TYPE REF TO
if_srm_srm_client_obj_factory,
lo_src_poid TYPE REF TO if_srm_poid,
lo_dest_poid TYPE REF TO if_srm_poid,
lo_client_service TYPE REF TO
if_srm_srm_client_service,
lo_request TYPE REF TO if_srm_request,
ls_sp_poid TYPE LINE OF srm_list_poid,
lt_record_sp_poid TYPE srm_list_poid,
lv_rms_id TYPE string,
* Elementart der Zielakte:
lv_rec_sps_id TYPE string,
ls_rec_doc_id TYPE sdokobject,
lo_event_object TYPE REF TO
if_srm_client_event.
IF im_request->get_activity( ) =
if_srm_activity_list=>display.
lo_src_poid = im_request->get_source_poid( ).
*
* An dieser Stelle muss die technische ID der
* Zielakte ermittelt und in ls_rec_doc_id zur
* Verfgung gestellt werden.
*
ls_sp_poid-id = 'DOC_ID'.
ls_sp_poid-value = ls_record_doc_id.
INSERT ls_sp_poid INTO TABLE lt_record_sp_poid.
ls_sp_poid-id = 'VERSION'.
ls_sp_poid-value = '0'.
INSERT ls_sp_poid INTO TABLE lt_record_sp_poid.
ls_sp_poid-id = 'VARIANT'.
ls_sp_poid-value = '0'.
INSERT ls_sp_poid INTO TABLE lt_record_sp_poid.
lv_rms_id =
me->if_srm_poid~get_area_poid_value_by_id(
srmif_rmsid_id ).
lo_client_service ?= if_srm~get_srm_service( ).
lo_dest_poid
= lo_client_service->poid_get_instance(
im_sps_id = lv_rec_sps_id
im_rms_id = lv_rms_id
im_sp_poid = lt_record_sp_poid ).
lo_client_factory ?=
me->if_srm~get_srm_object_factory( ).
lo_request = lo_client_factory->create_request( ).
lo_request->set_dest_poid( lo_dest_poid ).
lo_request->set_activity(
if_srm_activity_list=>display ).
lo_event_object ?=
me->if_srm_sp_client_win~event_object.
lo_event_object->send_request(
im_request = lo_request ).
ENDIF.
ENDMETHOD.